{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## scikit-learn中的多项式回归和Pipeline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np \n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "x = np.random.uniform(-3, 3, size=100)\n",
    "X = x.reshape(-1, 1)\n",
    "y = 0.5 * x**2 + x + 2 + np.random.normal(0, 1, 100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 多项式回归其实是对数据的预处理(升维)\n",
    "# 所以存在于preprocessing\n",
    "from sklearn.preprocessing import PolynomialFeatures"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 添加最多几次幂\n",
    "poly = PolynomialFeatures(degree=2)\n",
    "poly.fit(X)\n",
    "X2 = poly.transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "(100, 3)"
     },
     "metadata": {},
     "execution_count": 26
    }
   ],
   "source": [
    "X2.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array([[-0.38905699],\n       [ 2.95481613],\n       [ 1.87297888],\n       [ 0.96401209],\n       [-0.96747705]])"
     },
     "metadata": {},
     "execution_count": 27
    }
   ],
   "source": [
    "X[:5,:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array([[ 1.        , -0.38905699,  0.15136534],\n       [ 1.        ,  2.95481613,  8.73093839],\n       [ 1.        ,  1.87297888,  3.5080499 ],\n       [ 1.        ,  0.96401209,  0.9293193 ],\n       [ 1.        , -0.96747705,  0.93601184]])"
     },
     "metadata": {},
     "execution_count": 28
    }
   ],
   "source": [
    "# 最开始的列是0次方，1次方，二次方\n",
    "X2[:5,:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "\n",
    "lin_reg2 = LinearRegression()\n",
    "lin_reg2.fit(X2, y)\n",
    "y_predict2 = lin_reg2.predict(X2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"249.722385pt\" version=\"1.1\" viewBox=\"0 0 368.925 249.722385\" width=\"368.925pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <defs>\r\n  <style type=\"text/css\">\r\n*{stroke-linecap:butt;stroke-linejoin:round;}\r\n  </style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M -0 249.722385 \r\nL 368.925 249.722385 \r\nL 368.925 0 \r\nL -0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 26.925 225.84426 \r\nL 361.725 225.84426 \r\nL 361.725 8.40426 \r\nL 26.925 8.40426 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g id=\"PathCollection_1\">\r\n    <defs>\r\n     <path d=\"M 0 3 \r\nC 0.795609 3 1.55874 2.683901 2.12132 2.12132 \r\nC 2.683901 1.55874 3 0.795609 3 0 \r\nC 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \r\nC 1.55874 -2.683901 0.795609 -3 0 -3 \r\nC -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \r\nC -2.683901 -1.55874 -3 -0.795609 -3 0 \r\nC -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \r\nC -1.55874 2.683901 -0.795609 3 0 3 \r\nz\r\n\" id=\"mf3b66d2ba4\" style=\"stroke:#1f77b4;\"/>\r\n    </defs>\r\n    <g clip-path=\"url(#p3a9e492a9d)\">\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"175.176914\" xlink:href=\"#mf3b66d2ba4\" y=\"175.446299\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"346.048933\" xlink:href=\"#mf3b66d2ba4\" y=\"41.84646\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"290.767016\" xlink:href=\"#mf3b66d2ba4\" y=\"77.92355\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"244.318785\" xlink:href=\"#mf3b66d2ba4\" y=\"125.924638\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.619631\" xlink:href=\"#mf3b66d2ba4\" y=\"160.747449\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"192.294117\" xlink:href=\"#mf3b66d2ba4\" y=\"169.772231\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"89.315987\" xlink:href=\"#mf3b66d2ba4\" y=\"173.351117\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"240.280153\" xlink:href=\"#mf3b66d2ba4\" y=\"147.096258\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"80.870076\" xlink:href=\"#mf3b66d2ba4\" y=\"153.619922\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"253.814822\" xlink:href=\"#mf3b66d2ba4\" y=\"128.266685\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"57.167103\" xlink:href=\"#mf3b66d2ba4\" y=\"171.491992\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"172.791378\" xlink:href=\"#mf3b66d2ba4\" y=\"202.678894\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"70.870154\" xlink:href=\"#mf3b66d2ba4\" y=\"124.67433\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"269.62384\" xlink:href=\"#mf3b66d2ba4\" y=\"94.303911\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"218.548053\" xlink:href=\"#mf3b66d2ba4\" y=\"161.591896\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"317.893326\" xlink:href=\"#mf3b66d2ba4\" y=\"57.156757\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"333.71642\" xlink:href=\"#mf3b66d2ba4\" y=\"73.422466\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"209.898971\" xlink:href=\"#mf3b66d2ba4\" y=\"202.108745\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"263.053283\" xlink:href=\"#mf3b66d2ba4\" y=\"104.79463\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.501491\" xlink:href=\"#mf3b66d2ba4\" y=\"179.236446\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"177.33836\" xlink:href=\"#mf3b66d2ba4\" y=\"157.478198\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"43.908439\" xlink:href=\"#mf3b66d2ba4\" y=\"147.383308\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"99.715818\" xlink:href=\"#mf3b66d2ba4\" y=\"181.837663\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"111.949243\" xlink:href=\"#mf3b66d2ba4\" y=\"147.595822\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"177.671741\" xlink:href=\"#mf3b66d2ba4\" y=\"160.550643\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"226.486776\" xlink:href=\"#mf3b66d2ba4\" y=\"150.559652\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"252.187294\" xlink:href=\"#mf3b66d2ba4\" y=\"144.069544\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"219.152515\" xlink:href=\"#mf3b66d2ba4\" y=\"133.853761\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"97.409683\" xlink:href=\"#mf3b66d2ba4\" y=\"181.984406\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.06154\" xlink:href=\"#mf3b66d2ba4\" y=\"162.628844\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"212.420649\" xlink:href=\"#mf3b66d2ba4\" y=\"166.612226\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"265.807595\" xlink:href=\"#mf3b66d2ba4\" y=\"128.282066\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"267.479577\" xlink:href=\"#mf3b66d2ba4\" y=\"122.478933\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.770054\" xlink:href=\"#mf3b66d2ba4\" y=\"147.017833\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"218.532835\" xlink:href=\"#mf3b66d2ba4\" y=\"157.891128\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.716484\" xlink:href=\"#mf3b66d2ba4\" y=\"215.68972\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"98.780619\" xlink:href=\"#mf3b66d2ba4\" y=\"158.040701\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"222.172506\" xlink:href=\"#mf3b66d2ba4\" y=\"187.63709\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"207.812156\" xlink:href=\"#mf3b66d2ba4\" y=\"124.438695\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"162.459954\" xlink:href=\"#mf3b66d2ba4\" y=\"203.363441\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.543958\" xlink:href=\"#mf3b66d2ba4\" y=\"190.91868\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"338.059859\" xlink:href=\"#mf3b66d2ba4\" y=\"71.860152\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.755662\" xlink:href=\"#mf3b66d2ba4\" y=\"155.764209\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"268.123023\" xlink:href=\"#mf3b66d2ba4\" y=\"108.877049\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"260.771731\" xlink:href=\"#mf3b66d2ba4\" y=\"135.125371\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"241.761471\" xlink:href=\"#mf3b66d2ba4\" y=\"139.809515\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"191.40893\" xlink:href=\"#mf3b66d2ba4\" y=\"160.311101\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"45.642208\" xlink:href=\"#mf3b66d2ba4\" y=\"127.497109\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"302.544697\" xlink:href=\"#mf3b66d2ba4\" y=\"53.453901\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.205495\" xlink:href=\"#mf3b66d2ba4\" y=\"141.161778\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"315.460898\" xlink:href=\"#mf3b66d2ba4\" y=\"49.849917\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"182.795105\" xlink:href=\"#mf3b66d2ba4\" y=\"200.45486\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"257.503205\" xlink:href=\"#mf3b66d2ba4\" y=\"125.877795\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"202.477203\" xlink:href=\"#mf3b66d2ba4\" y=\"162.985795\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"93.852482\" xlink:href=\"#mf3b66d2ba4\" y=\"135.420956\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"220.870914\" xlink:href=\"#mf3b66d2ba4\" y=\"152.750799\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"212.66198\" xlink:href=\"#mf3b66d2ba4\" y=\"176.173082\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.666438\" xlink:href=\"#mf3b66d2ba4\" y=\"181.948271\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.237199\" xlink:href=\"#mf3b66d2ba4\" y=\"184.881326\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"197.24033\" xlink:href=\"#mf3b66d2ba4\" y=\"166.576004\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"164.493833\" xlink:href=\"#mf3b66d2ba4\" y=\"185.350826\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"85.058788\" xlink:href=\"#mf3b66d2ba4\" y=\"158.83113\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"331.934189\" xlink:href=\"#mf3b66d2ba4\" y=\"61.707021\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"252.712411\" xlink:href=\"#mf3b66d2ba4\" y=\"145.232467\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"292.676245\" xlink:href=\"#mf3b66d2ba4\" y=\"59.432764\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"42.601067\" xlink:href=\"#mf3b66d2ba4\" y=\"129.055003\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"43.40211\" xlink:href=\"#mf3b66d2ba4\" y=\"150.526636\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"336.758547\" xlink:href=\"#mf3b66d2ba4\" y=\"48.52933\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.511437\" xlink:href=\"#mf3b66d2ba4\" y=\"161.225955\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"188.743301\" xlink:href=\"#mf3b66d2ba4\" y=\"183.520963\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"191.155006\" xlink:href=\"#mf3b66d2ba4\" y=\"203.499581\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"296.960208\" xlink:href=\"#mf3b66d2ba4\" y=\"80.024163\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"51.057664\" xlink:href=\"#mf3b66d2ba4\" y=\"138.994527\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"166.749026\" xlink:href=\"#mf3b66d2ba4\" y=\"176.726115\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"76.437837\" xlink:href=\"#mf3b66d2ba4\" y=\"175.121526\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"285.372876\" xlink:href=\"#mf3b66d2ba4\" y=\"96.054945\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"170.860705\" xlink:href=\"#mf3b66d2ba4\" y=\"156.324954\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.785273\" xlink:href=\"#mf3b66d2ba4\" y=\"209.914182\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"285.136521\" xlink:href=\"#mf3b66d2ba4\" y=\"127.035589\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.726648\" xlink:href=\"#mf3b66d2ba4\" y=\"114.923139\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"87.281729\" xlink:href=\"#mf3b66d2ba4\" y=\"177.182088\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"256.483756\" xlink:href=\"#mf3b66d2ba4\" y=\"155.819495\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"344.473121\" xlink:href=\"#mf3b66d2ba4\" y=\"24.91196\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"220.831416\" xlink:href=\"#mf3b66d2ba4\" y=\"169.723983\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"323.521483\" xlink:href=\"#mf3b66d2ba4\" y=\"29.976237\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"214.72631\" xlink:href=\"#mf3b66d2ba4\" y=\"164.010926\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"230.237931\" xlink:href=\"#mf3b66d2ba4\" y=\"140.544417\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"266.627659\" xlink:href=\"#mf3b66d2ba4\" y=\"115.213771\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"333.250209\" xlink:href=\"#mf3b66d2ba4\" y=\"18.558799\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"77.724925\" xlink:href=\"#mf3b66d2ba4\" y=\"114.000415\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"335.021052\" xlink:href=\"#mf3b66d2ba4\" y=\"41.248244\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"311.669079\" xlink:href=\"#mf3b66d2ba4\" y=\"88.673499\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"232.211528\" xlink:href=\"#mf3b66d2ba4\" y=\"125.322737\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"291.422166\" xlink:href=\"#mf3b66d2ba4\" y=\"166.45941\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"162.851016\" xlink:href=\"#mf3b66d2ba4\" y=\"181.618245\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"158.594813\" xlink:href=\"#mf3b66d2ba4\" y=\"208.509944\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"301.171903\" xlink:href=\"#mf3b66d2ba4\" y=\"71.234233\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"64.285303\" xlink:href=\"#mf3b66d2ba4\" y=\"168.237629\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"247.060363\" xlink:href=\"#mf3b66d2ba4\" y=\"110.250016\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"53.281404\" xlink:href=\"#mf3b66d2ba4\" y=\"156.034396\"/>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"ma817b6e7b0\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"41.757646\" xlink:href=\"#ma817b6e7b0\" y=\"225.84426\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- −3 -->\r\n      <defs>\r\n       <path d=\"M 10.59375 35.5 \r\nL 73.1875 35.5 \r\nL 73.1875 27.203125 \r\nL 10.59375 27.203125 \r\nz\r\n\" id=\"DejaVuSans-8722\"/>\r\n       <path d=\"M 40.578125 39.3125 \r\nQ 47.65625 37.796875 51.625 33 \r\nQ 55.609375 28.21875 55.609375 21.1875 \r\nQ 55.609375 10.40625 48.1875 4.484375 \r\nQ 40.765625 -1.421875 27.09375 -1.421875 \r\nQ 22.515625 -1.421875 17.65625 -0.515625 \r\nQ 12.796875 0.390625 7.625 2.203125 \r\nL 7.625 11.71875 \r\nQ 11.71875 9.328125 16.59375 8.109375 \r\nQ 21.484375 6.890625 26.8125 6.890625 \r\nQ 36.078125 6.890625 40.9375 10.546875 \r\nQ 45.796875 14.203125 45.796875 21.1875 \r\nQ 45.796875 27.640625 41.28125 31.265625 \r\nQ 36.765625 34.90625 28.71875 34.90625 \r\nL 20.21875 34.90625 \r\nL 20.21875 43.015625 \r\nL 29.109375 43.015625 \r\nQ 36.375 43.015625 40.234375 45.921875 \r\nQ 44.09375 48.828125 44.09375 54.296875 \r\nQ 44.09375 59.90625 40.109375 62.90625 \r\nQ 36.140625 65.921875 28.71875 65.921875 \r\nQ 24.65625 65.921875 20.015625 65.03125 \r\nQ 15.375 64.15625 9.8125 62.3125 \r\nL 9.8125 71.09375 \r\nQ 15.4375 72.65625 20.34375 73.4375 \r\nQ 25.25 74.21875 29.59375 74.21875 \r\nQ 40.828125 74.21875 47.359375 69.109375 \r\nQ 53.90625 64.015625 53.90625 55.328125 \r\nQ 53.90625 49.265625 50.4375 45.09375 \r\nQ 46.96875 40.921875 40.578125 39.3125 \r\nz\r\n\" id=\"DejaVuSans-51\"/>\r\n      </defs>\r\n      <g transform=\"translate(34.386553 240.442697)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-51\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"92.857677\" xlink:href=\"#ma817b6e7b0\" y=\"225.84426\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- −2 -->\r\n      <defs>\r\n       <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSans-50\"/>\r\n      </defs>\r\n      <g transform=\"translate(85.486583 240.442697)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-50\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"143.957708\" xlink:href=\"#ma817b6e7b0\" y=\"225.84426\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- −1 -->\r\n      <defs>\r\n       <path d=\"M 12.40625 8.296875 \r\nL 28.515625 8.296875 \r\nL 28.515625 63.921875 \r\nL 10.984375 60.40625 \r\nL 10.984375 69.390625 \r\nL 28.421875 72.90625 \r\nL 38.28125 72.90625 \r\nL 38.28125 8.296875 \r\nL 54.390625 8.296875 \r\nL 54.390625 0 \r\nL 12.40625 0 \r\nz\r\n\" id=\"DejaVuSans-49\"/>\r\n      </defs>\r\n      <g transform=\"translate(136.586614 240.442697)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-49\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"195.057738\" xlink:href=\"#ma817b6e7b0\" y=\"225.84426\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- 0 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n      </defs>\r\n      <g transform=\"translate(191.876488 240.442697)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"246.157769\" xlink:href=\"#ma817b6e7b0\" y=\"225.84426\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 1 -->\r\n      <g transform=\"translate(242.976519 240.442697)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-49\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_6\">\r\n     <g id=\"line2d_6\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"297.257799\" xlink:href=\"#ma817b6e7b0\" y=\"225.84426\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- 2 -->\r\n      <g transform=\"translate(294.076549 240.442697)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_7\">\r\n     <g id=\"line2d_7\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"348.35783\" xlink:href=\"#ma817b6e7b0\" y=\"225.84426\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_7\">\r\n      <!-- 3 -->\r\n      <g transform=\"translate(345.17658 240.442697)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-51\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_8\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"m82a60e673d\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m82a60e673d\" y=\"207.349819\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(13.5625 211.149038)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m82a60e673d\" y=\"168.079699\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 2 -->\r\n      <g transform=\"translate(13.5625 171.878918)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m82a60e673d\" y=\"128.809579\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 4 -->\r\n      <defs>\r\n       <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n      </defs>\r\n      <g transform=\"translate(13.5625 132.608798)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-52\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m82a60e673d\" y=\"89.539459\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_11\">\r\n      <!-- 6 -->\r\n      <defs>\r\n       <path d=\"M 33.015625 40.375 \r\nQ 26.375 40.375 22.484375 35.828125 \r\nQ 18.609375 31.296875 18.609375 23.390625 \r\nQ 18.609375 15.53125 22.484375 10.953125 \r\nQ 26.375 6.390625 33.015625 6.390625 \r\nQ 39.65625 6.390625 43.53125 10.953125 \r\nQ 47.40625 15.53125 47.40625 23.390625 \r\nQ 47.40625 31.296875 43.53125 35.828125 \r\nQ 39.65625 40.375 33.015625 40.375 \r\nz\r\nM 52.59375 71.296875 \r\nL 52.59375 62.3125 \r\nQ 48.875 64.0625 45.09375 64.984375 \r\nQ 41.3125 65.921875 37.59375 65.921875 \r\nQ 27.828125 65.921875 22.671875 59.328125 \r\nQ 17.53125 52.734375 16.796875 39.40625 \r\nQ 19.671875 43.65625 24.015625 45.921875 \r\nQ 28.375 48.1875 33.59375 48.1875 \r\nQ 44.578125 48.1875 50.953125 41.515625 \r\nQ 57.328125 34.859375 57.328125 23.390625 \r\nQ 57.328125 12.15625 50.6875 5.359375 \r\nQ 44.046875 -1.421875 33.015625 -1.421875 \r\nQ 20.359375 -1.421875 13.671875 8.265625 \r\nQ 6.984375 17.96875 6.984375 36.375 \r\nQ 6.984375 53.65625 15.1875 63.9375 \r\nQ 23.390625 74.21875 37.203125 74.21875 \r\nQ 40.921875 74.21875 44.703125 73.484375 \r\nQ 48.484375 72.75 52.59375 71.296875 \r\nz\r\n\" id=\"DejaVuSans-54\"/>\r\n      </defs>\r\n      <g transform=\"translate(13.5625 93.338678)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-54\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_12\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m82a60e673d\" y=\"50.269339\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_12\">\r\n      <!-- 8 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 34.625 \r\nQ 24.75 34.625 20.71875 30.859375 \r\nQ 16.703125 27.09375 16.703125 20.515625 \r\nQ 16.703125 13.921875 20.71875 10.15625 \r\nQ 24.75 6.390625 31.78125 6.390625 \r\nQ 38.8125 6.390625 42.859375 10.171875 \r\nQ 46.921875 13.96875 46.921875 20.515625 \r\nQ 46.921875 27.09375 42.890625 30.859375 \r\nQ 38.875 34.625 31.78125 34.625 \r\nz\r\nM 21.921875 38.8125 \r\nQ 15.578125 40.375 12.03125 44.71875 \r\nQ 8.5 49.078125 8.5 55.328125 \r\nQ 8.5 64.0625 14.71875 69.140625 \r\nQ 20.953125 74.21875 31.78125 74.21875 \r\nQ 42.671875 74.21875 48.875 69.140625 \r\nQ 55.078125 64.0625 55.078125 55.328125 \r\nQ 55.078125 49.078125 51.53125 44.71875 \r\nQ 48 40.375 41.703125 38.8125 \r\nQ 48.828125 37.15625 52.796875 32.3125 \r\nQ 56.78125 27.484375 56.78125 20.515625 \r\nQ 56.78125 9.90625 50.3125 4.234375 \r\nQ 43.84375 -1.421875 31.78125 -1.421875 \r\nQ 19.734375 -1.421875 13.25 4.234375 \r\nQ 6.78125 9.90625 6.78125 20.515625 \r\nQ 6.78125 27.484375 10.78125 32.3125 \r\nQ 14.796875 37.15625 21.921875 38.8125 \r\nz\r\nM 18.3125 54.390625 \r\nQ 18.3125 48.734375 21.84375 45.5625 \r\nQ 25.390625 42.390625 31.78125 42.390625 \r\nQ 38.140625 42.390625 41.71875 45.5625 \r\nQ 45.3125 48.734375 45.3125 54.390625 \r\nQ 45.3125 60.0625 41.71875 63.234375 \r\nQ 38.140625 66.40625 31.78125 66.40625 \r\nQ 25.390625 66.40625 21.84375 63.234375 \r\nQ 18.3125 60.0625 18.3125 54.390625 \r\nz\r\n\" id=\"DejaVuSans-56\"/>\r\n      </defs>\r\n      <g transform=\"translate(13.5625 54.068558)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-56\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_6\">\r\n     <g id=\"line2d_13\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m82a60e673d\" y=\"10.999219\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_13\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(7.2 14.798437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-49\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"line2d_14\">\r\n    <path clip-path=\"url(#p3a9e492a9d)\" d=\"M 42.601067 134.544741 \r\nL 43.40211 135.189477 \r\nL 43.908439 135.594462 \r\nL 45.642208 136.966272 \r\nL 51.057664 141.10227 \r\nL 53.281404 142.735307 \r\nL 57.167103 145.497542 \r\nL 64.285303 150.256481 \r\nL 70.870154 154.311876 \r\nL 76.437837 157.480652 \r\nL 77.724925 158.179257 \r\nL 80.870076 159.832775 \r\nL 85.058788 161.916806 \r\nL 87.281729 162.967992 \r\nL 89.315987 163.896652 \r\nL 91.06154 164.668144 \r\nL 93.852482 165.852988 \r\nL 96.726648 167.010553 \r\nL 97.409683 167.2763 \r\nL 98.780619 167.798862 \r\nL 99.715818 168.14704 \r\nL 111.949243 172.082127 \r\nL 117.205495 173.419392 \r\nL 120.716484 174.194273 \r\nL 124.755662 174.968459 \r\nL 136.785273 176.530869 \r\nL 138.543958 176.666042 \r\nL 140.511437 176.789073 \r\nL 141.770054 176.852164 \r\nL 145.619631 176.969518 \r\nL 149.237199 176.975926 \r\nL 158.594813 176.525623 \r\nL 159.501491 176.446206 \r\nL 159.666438 176.431079 \r\nL 162.459954 176.143102 \r\nL 162.851016 176.098 \r\nL 164.493833 175.89568 \r\nL 166.749026 175.584142 \r\nL 170.860705 174.915479 \r\nL 172.791378 174.556645 \r\nL 175.176914 174.073677 \r\nL 177.33836 173.598287 \r\nL 177.671741 173.521764 \r\nL 182.795105 172.238274 \r\nL 188.743301 170.494916 \r\nL 191.155006 169.710541 \r\nL 191.40893 169.625353 \r\nL 192.294117 169.324508 \r\nL 197.24033 167.532544 \r\nL 202.477203 165.430219 \r\nL 207.812156 163.071645 \r\nL 209.898971 162.089512 \r\nL 212.420649 160.858031 \r\nL 212.66198 160.737611 \r\nL 214.72631 159.689244 \r\nL 218.532835 157.670173 \r\nL 218.548053 157.661878 \r\nL 219.152515 157.330934 \r\nL 220.831416 156.396991 \r\nL 220.870914 156.374758 \r\nL 222.172506 155.635393 \r\nL 226.486776 153.091521 \r\nL 230.237931 150.763348 \r\nL 232.211528 149.49498 \r\nL 240.280153 143.997959 \r\nL 241.761471 142.934365 \r\nL 244.318785 141.058485 \r\nL 247.060363 138.991579 \r\nL 252.187294 134.971207 \r\nL 252.712411 134.548015 \r\nL 253.814822 133.652681 \r\nL 256.483756 131.446376 \r\nL 257.503205 130.589179 \r\nL 260.771731 127.786965 \r\nL 263.053283 125.782223 \r\nL 265.807595 123.308746 \r\nL 266.627659 122.561025 \r\nL 267.479577 121.778783 \r\nL 268.123023 121.184264 \r\nL 269.62384 119.785191 \r\nL 285.136521 104.309288 \r\nL 285.372876 104.059179 \r\nL 290.767016 98.234375 \r\nL 291.422166 97.51168 \r\nL 292.676245 96.119098 \r\nL 296.960208 91.270776 \r\nL 301.171903 86.366655 \r\nL 302.544697 84.738687 \r\nL 311.669079 73.54997 \r\nL 315.460898 68.711949 \r\nL 317.893326 65.550171 \r\nL 323.521483 58.059999 \r\nL 331.934189 46.409828 \r\nL 333.250209 44.538133 \r\nL 333.71642 43.871873 \r\nL 335.021052 41.998548 \r\nL 336.758547 39.48335 \r\nL 338.059859 37.584365 \r\nL 344.473121 28.035337 \r\nL 346.048933 25.640624 \r\n\" style=\"fill:none;stroke:#ff0000;stroke-linecap:square;stroke-width:1.5;\"/>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 26.925 225.84426 \r\nL 26.925 8.40426 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 361.725 225.84426 \r\nL 361.725 8.40426 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 26.925 225.84426 \r\nL 361.725 225.84426 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 26.925 8.40426 \r\nL 361.725 8.40426 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"p3a9e492a9d\">\r\n   <rect height=\"217.44\" width=\"334.8\" x=\"26.925\" y=\"8.40426\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "source": [
    "plt.scatter(x, y)\n",
    "plt.plot(np.sort(x), y_predict2[np.argsort(x)], color='r')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array([0.       , 0.9486703, 0.5113727])"
     },
     "metadata": {},
     "execution_count": 31
    }
   ],
   "source": [
    "lin_reg2.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "1.9864135595758838"
     },
     "metadata": {},
     "execution_count": 32
    }
   ],
   "source": [
    "lin_reg2.intercept_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 关于PolynomialFeatures"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X = np.arange(1, 11).reshape(-1, 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array([[ 1,  2],\n       [ 3,  4],\n       [ 5,  6],\n       [ 7,  8],\n       [ 9, 10]])"
     },
     "metadata": {},
     "execution_count": 13
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "poly = PolynomialFeatures(degree=2)\n",
    "poly.fit(X)\n",
    "X2 = poly.transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "(5, 6)"
     },
     "metadata": {},
     "execution_count": 15
    }
   ],
   "source": [
    "X2.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array([[  1.,   1.,   2.,   1.,   2.,   4.],\n       [  1.,   3.,   4.,   9.,  12.,  16.],\n       [  1.,   5.,   6.,  25.,  30.,  36.],\n       [  1.,   7.,   8.,  49.,  56.,  64.],\n       [  1.,   9.,  10.,  81.,  90., 100.]])"
     },
     "metadata": {},
     "execution_count": 16
    }
   ],
   "source": [
    "# 0次幂，1次幂两个，2次幂3个，分别是a^2, a*b, b^2\n",
    "X2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Pipeline\n",
    "方便使用多项式回归的方法\n",
    "使用多项式回归的时候，需要\n",
    "\n",
    "1. 建立多项式矩阵\n",
    "\n",
    "2. 进行归一化(因为次数越高，指数爆炸)\n",
    "\n",
    "3. 进行线性回归训练\n",
    "\n",
    "使用Pipeline的话可以直接一步进行回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "x = np.random.uniform(-3, 3, size=100)\n",
    "X = x.reshape(-1, 1)\n",
    "y = 0.5 * x**2 + x + 2 + np.random.normal(0, 1, 100)\n",
    "\n",
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "# 管道传入的是每一步对应的类。使用元组，第一个是名字，第二个是实例\n",
    "\n",
    "poly_reg = Pipeline([\n",
    "    (\"poly\", PolynomialFeatures(degree=2)),\n",
    "    (\"std_scaler\", StandardScaler()),\n",
    "    (\"lin_reg\", LinearRegression())\n",
    "])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 直接进行fit和predict即可\n",
    "poly_reg.fit(X, y)\n",
    "y_predict = poly_reg.predict(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"248.518125pt\" version=\"1.1\" viewBox=\"0 0 370.942187 248.518125\" width=\"370.942187pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <defs>\r\n  <style type=\"text/css\">\r\n*{stroke-linecap:butt;stroke-linejoin:round;}\r\n  </style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M 0 248.518125 \r\nL 370.942187 248.518125 \r\nL 370.942187 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 28.942188 224.64 \r\nL 363.742188 224.64 \r\nL 363.742188 7.2 \r\nL 28.942188 7.2 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g id=\"PathCollection_1\">\r\n    <defs>\r\n     <path d=\"M 0 3 \r\nC 0.795609 3 1.55874 2.683901 2.12132 2.12132 \r\nC 2.683901 1.55874 3 0.795609 3 0 \r\nC 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \r\nC 1.55874 -2.683901 0.795609 -3 0 -3 \r\nC -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \r\nC -2.683901 -1.55874 -3 -0.795609 -3 0 \r\nC -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \r\nC -1.55874 2.683901 -0.795609 3 0 3 \r\nz\r\n\" id=\"mbcc94368fa\" style=\"stroke:#1f77b4;\"/>\r\n    </defs>\r\n    <g clip-path=\"url(#pdc068f5135)\">\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"259.196047\" xlink:href=\"#mbcc94368fa\" y=\"100.368796\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"314.88413\" xlink:href=\"#mbcc94368fa\" y=\"81.345925\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"187.068994\" xlink:href=\"#mbcc94368fa\" y=\"195.48428\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"51.812115\" xlink:href=\"#mbcc94368fa\" y=\"128.464559\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"215.709069\" xlink:href=\"#mbcc94368fa\" y=\"164.117395\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"84.639774\" xlink:href=\"#mbcc94368fa\" y=\"161.363617\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"213.32357\" xlink:href=\"#mbcc94368fa\" y=\"151.759805\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.866534\" xlink:href=\"#mbcc94368fa\" y=\"183.485376\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.959172\" xlink:href=\"#mbcc94368fa\" y=\"172.287196\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.720807\" xlink:href=\"#mbcc94368fa\" y=\"143.386965\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.248213\" xlink:href=\"#mbcc94368fa\" y=\"166.957299\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"308.451399\" xlink:href=\"#mbcc94368fa\" y=\"71.349448\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"247.329872\" xlink:href=\"#mbcc94368fa\" y=\"114.635518\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"302.008232\" xlink:href=\"#mbcc94368fa\" y=\"62.907537\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"295.503927\" xlink:href=\"#mbcc94368fa\" y=\"81.80348\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"192.027489\" xlink:href=\"#mbcc94368fa\" y=\"170.161814\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"204.314962\" xlink:href=\"#mbcc94368fa\" y=\"177.686717\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"239.055298\" xlink:href=\"#mbcc94368fa\" y=\"145.214318\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"79.823812\" xlink:href=\"#mbcc94368fa\" y=\"123.93784\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.5079\" xlink:href=\"#mbcc94368fa\" y=\"180.597695\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.175774\" xlink:href=\"#mbcc94368fa\" y=\"174.855806\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"260.983294\" xlink:href=\"#mbcc94368fa\" y=\"117.489901\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"234.735173\" xlink:href=\"#mbcc94368fa\" y=\"142.767082\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"74.092928\" xlink:href=\"#mbcc94368fa\" y=\"153.78386\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"173.294774\" xlink:href=\"#mbcc94368fa\" y=\"166.338654\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.853192\" xlink:href=\"#mbcc94368fa\" y=\"167.262816\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.329683\" xlink:href=\"#mbcc94368fa\" y=\"214.519983\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.774845\" xlink:href=\"#mbcc94368fa\" y=\"186.324466\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"256.057355\" xlink:href=\"#mbcc94368fa\" y=\"111.886975\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"280.200857\" xlink:href=\"#mbcc94368fa\" y=\"76.777293\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"310.534546\" xlink:href=\"#mbcc94368fa\" y=\"67.483974\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"63.671854\" xlink:href=\"#mbcc94368fa\" y=\"142.965843\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"164.756224\" xlink:href=\"#mbcc94368fa\" y=\"147.36317\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"288.850669\" xlink:href=\"#mbcc94368fa\" y=\"96.409476\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"260.983852\" xlink:href=\"#mbcc94368fa\" y=\"126.79981\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.721512\" xlink:href=\"#mbcc94368fa\" y=\"167.611502\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"305.923164\" xlink:href=\"#mbcc94368fa\" y=\"62.613695\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"45.045875\" xlink:href=\"#mbcc94368fa\" y=\"127.482223\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"203.276216\" xlink:href=\"#mbcc94368fa\" y=\"170.128323\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"269.304655\" xlink:href=\"#mbcc94368fa\" y=\"72.089991\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"168.052023\" xlink:href=\"#mbcc94368fa\" y=\"171.134139\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"320.478565\" xlink:href=\"#mbcc94368fa\" y=\"54.222499\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"326.09012\" xlink:href=\"#mbcc94368fa\" y=\"61.649572\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"79.144235\" xlink:href=\"#mbcc94368fa\" y=\"131.94201\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"54.761243\" xlink:href=\"#mbcc94368fa\" y=\"119.191466\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"171.788944\" xlink:href=\"#mbcc94368fa\" y=\"161.275407\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.351367\" xlink:href=\"#mbcc94368fa\" y=\"143.233249\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"191.951491\" xlink:href=\"#mbcc94368fa\" y=\"148.091098\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"258.459118\" xlink:href=\"#mbcc94368fa\" y=\"125.360427\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.161336\" xlink:href=\"#mbcc94368fa\" y=\"167.452659\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"84.047891\" xlink:href=\"#mbcc94368fa\" y=\"154.535549\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"166.382677\" xlink:href=\"#mbcc94368fa\" y=\"183.787014\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"268.231391\" xlink:href=\"#mbcc94368fa\" y=\"122.515183\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.035626\" xlink:href=\"#mbcc94368fa\" y=\"157.012801\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.122925\" xlink:href=\"#mbcc94368fa\" y=\"150.914838\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"287.552921\" xlink:href=\"#mbcc94368fa\" y=\"83.349117\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"225.372118\" xlink:href=\"#mbcc94368fa\" y=\"117.431175\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"73.543788\" xlink:href=\"#mbcc94368fa\" y=\"148.486852\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"288.628387\" xlink:href=\"#mbcc94368fa\" y=\"95.79918\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"81.207838\" xlink:href=\"#mbcc94368fa\" y=\"155.133094\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"259.604344\" xlink:href=\"#mbcc94368fa\" y=\"108.099819\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.625473\" xlink:href=\"#mbcc94368fa\" y=\"170.419871\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"49.459831\" xlink:href=\"#mbcc94368fa\" y=\"137.847988\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.543262\" xlink:href=\"#mbcc94368fa\" y=\"185.408536\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"344.613337\" xlink:href=\"#mbcc94368fa\" y=\"20.019398\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"194.968439\" xlink:href=\"#mbcc94368fa\" y=\"141.815771\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"307.13672\" xlink:href=\"#mbcc94368fa\" y=\"108.374485\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.97963\" xlink:href=\"#mbcc94368fa\" y=\"164.504077\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.279034\" xlink:href=\"#mbcc94368fa\" y=\"163.174497\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"248.692844\" xlink:href=\"#mbcc94368fa\" y=\"123.45331\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"76.555104\" xlink:href=\"#mbcc94368fa\" y=\"169.170151\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"287.298066\" xlink:href=\"#mbcc94368fa\" y=\"95.07936\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.061923\" xlink:href=\"#mbcc94368fa\" y=\"175.163234\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"246.277054\" xlink:href=\"#mbcc94368fa\" y=\"124.618991\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"167.062298\" xlink:href=\"#mbcc94368fa\" y=\"144.551115\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"304.464951\" xlink:href=\"#mbcc94368fa\" y=\"57.634309\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"192.425137\" xlink:href=\"#mbcc94368fa\" y=\"136.217505\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"291.346361\" xlink:href=\"#mbcc94368fa\" y=\"93.05329\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"348.068124\" xlink:href=\"#mbcc94368fa\" y=\"28.523645\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"260.09735\" xlink:href=\"#mbcc94368fa\" y=\"143.516785\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.504818\" xlink:href=\"#mbcc94368fa\" y=\"156.284324\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"313.979579\" xlink:href=\"#mbcc94368fa\" y=\"53.152642\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"301.457876\" xlink:href=\"#mbcc94368fa\" y=\"75.37076\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"212.202919\" xlink:href=\"#mbcc94368fa\" y=\"163.688006\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"260.069948\" xlink:href=\"#mbcc94368fa\" y=\"127.115379\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.619401\" xlink:href=\"#mbcc94368fa\" y=\"141.846828\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"44.616251\" xlink:href=\"#mbcc94368fa\" y=\"143.183109\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"183.155867\" xlink:href=\"#mbcc94368fa\" y=\"144.355686\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.991378\" xlink:href=\"#mbcc94368fa\" y=\"160.743287\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"224.355025\" xlink:href=\"#mbcc94368fa\" y=\"143.701241\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"212.90172\" xlink:href=\"#mbcc94368fa\" y=\"146.809621\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.968569\" xlink:href=\"#mbcc94368fa\" y=\"158.243072\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"336.680178\" xlink:href=\"#mbcc94368fa\" y=\"33.226528\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"198.411668\" xlink:href=\"#mbcc94368fa\" y=\"140.512408\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.865813\" xlink:href=\"#mbcc94368fa\" y=\"161.094296\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"343.710095\" xlink:href=\"#mbcc94368fa\" y=\"25.249061\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"175.475435\" xlink:href=\"#mbcc94368fa\" y=\"143.142941\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"243.293427\" xlink:href=\"#mbcc94368fa\" y=\"139.909392\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"156.027442\" xlink:href=\"#mbcc94368fa\" y=\"181.623476\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"83.52944\" xlink:href=\"#mbcc94368fa\" y=\"164.440142\"/>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m841c4fd5dd\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.665\" xlink:href=\"#m841c4fd5dd\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- −3 -->\r\n      <defs>\r\n       <path d=\"M 10.59375 35.5 \r\nL 73.1875 35.5 \r\nL 73.1875 27.203125 \r\nL 10.59375 27.203125 \r\nz\r\n\" id=\"DejaVuSans-8722\"/>\r\n       <path d=\"M 40.578125 39.3125 \r\nQ 47.65625 37.796875 51.625 33 \r\nQ 55.609375 28.21875 55.609375 21.1875 \r\nQ 55.609375 10.40625 48.1875 4.484375 \r\nQ 40.765625 -1.421875 27.09375 -1.421875 \r\nQ 22.515625 -1.421875 17.65625 -0.515625 \r\nQ 12.796875 0.390625 7.625 2.203125 \r\nL 7.625 11.71875 \r\nQ 11.71875 9.328125 16.59375 8.109375 \r\nQ 21.484375 6.890625 26.8125 6.890625 \r\nQ 36.078125 6.890625 40.9375 10.546875 \r\nQ 45.796875 14.203125 45.796875 21.1875 \r\nQ 45.796875 27.640625 41.28125 31.265625 \r\nQ 36.765625 34.90625 28.71875 34.90625 \r\nL 20.21875 34.90625 \r\nL 20.21875 43.015625 \r\nL 29.109375 43.015625 \r\nQ 36.375 43.015625 40.234375 45.921875 \r\nQ 44.09375 48.828125 44.09375 54.296875 \r\nQ 44.09375 59.90625 40.109375 62.90625 \r\nQ 36.140625 65.921875 28.71875 65.921875 \r\nQ 24.65625 65.921875 20.015625 65.03125 \r\nQ 15.375 64.15625 9.8125 62.3125 \r\nL 9.8125 71.09375 \r\nQ 15.4375 72.65625 20.34375 73.4375 \r\nQ 25.25 74.21875 29.59375 74.21875 \r\nQ 40.828125 74.21875 47.359375 69.109375 \r\nQ 53.90625 64.015625 53.90625 55.328125 \r\nQ 53.90625 49.265625 50.4375 45.09375 \r\nQ 46.96875 40.921875 40.578125 39.3125 \r\nz\r\n\" id=\"DejaVuSans-51\"/>\r\n      </defs>\r\n      <g transform=\"translate(36.293906 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-51\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"94.541429\" xlink:href=\"#m841c4fd5dd\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- −2 -->\r\n      <defs>\r\n       <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSans-50\"/>\r\n      </defs>\r\n      <g transform=\"translate(87.170336 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-50\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"145.417858\" xlink:href=\"#m841c4fd5dd\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- −1 -->\r\n      <defs>\r\n       <path d=\"M 12.40625 8.296875 \r\nL 28.515625 8.296875 \r\nL 28.515625 63.921875 \r\nL 10.984375 60.40625 \r\nL 10.984375 69.390625 \r\nL 28.421875 72.90625 \r\nL 38.28125 72.90625 \r\nL 38.28125 8.296875 \r\nL 54.390625 8.296875 \r\nL 54.390625 0 \r\nL 12.40625 0 \r\nz\r\n\" id=\"DejaVuSans-49\"/>\r\n      </defs>\r\n      <g transform=\"translate(138.046765 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-49\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"196.294288\" xlink:href=\"#m841c4fd5dd\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- 0 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n      </defs>\r\n      <g transform=\"translate(193.113038 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"247.170717\" xlink:href=\"#m841c4fd5dd\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 1 -->\r\n      <g transform=\"translate(243.989467 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-49\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_6\">\r\n     <g id=\"line2d_6\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"298.047146\" xlink:href=\"#m841c4fd5dd\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- 2 -->\r\n      <g transform=\"translate(294.865896 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_7\">\r\n     <g id=\"line2d_7\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"348.923575\" xlink:href=\"#m841c4fd5dd\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_7\">\r\n      <!-- 3 -->\r\n      <g transform=\"translate(345.742325 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-51\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_8\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"ma53f4029a9\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.942188\" xlink:href=\"#ma53f4029a9\" y=\"222.165956\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- −2 -->\r\n      <g transform=\"translate(7.2 225.965175)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-50\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.942188\" xlink:href=\"#ma53f4029a9\" y=\"187.900243\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(15.579688 191.699462)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.942188\" xlink:href=\"#ma53f4029a9\" y=\"153.63453\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 2 -->\r\n      <g transform=\"translate(15.579688 157.433748)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.942188\" xlink:href=\"#ma53f4029a9\" y=\"119.368817\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_11\">\r\n      <!-- 4 -->\r\n      <defs>\r\n       <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n      </defs>\r\n      <g transform=\"translate(15.579688 123.168035)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-52\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_12\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.942188\" xlink:href=\"#ma53f4029a9\" y=\"85.103103\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_12\">\r\n      <!-- 6 -->\r\n      <defs>\r\n       <path d=\"M 33.015625 40.375 \r\nQ 26.375 40.375 22.484375 35.828125 \r\nQ 18.609375 31.296875 18.609375 23.390625 \r\nQ 18.609375 15.53125 22.484375 10.953125 \r\nQ 26.375 6.390625 33.015625 6.390625 \r\nQ 39.65625 6.390625 43.53125 10.953125 \r\nQ 47.40625 15.53125 47.40625 23.390625 \r\nQ 47.40625 31.296875 43.53125 35.828125 \r\nQ 39.65625 40.375 33.015625 40.375 \r\nz\r\nM 52.59375 71.296875 \r\nL 52.59375 62.3125 \r\nQ 48.875 64.0625 45.09375 64.984375 \r\nQ 41.3125 65.921875 37.59375 65.921875 \r\nQ 27.828125 65.921875 22.671875 59.328125 \r\nQ 17.53125 52.734375 16.796875 39.40625 \r\nQ 19.671875 43.65625 24.015625 45.921875 \r\nQ 28.375 48.1875 33.59375 48.1875 \r\nQ 44.578125 48.1875 50.953125 41.515625 \r\nQ 57.328125 34.859375 57.328125 23.390625 \r\nQ 57.328125 12.15625 50.6875 5.359375 \r\nQ 44.046875 -1.421875 33.015625 -1.421875 \r\nQ 20.359375 -1.421875 13.671875 8.265625 \r\nQ 6.984375 17.96875 6.984375 36.375 \r\nQ 6.984375 53.65625 15.1875 63.9375 \r\nQ 23.390625 74.21875 37.203125 74.21875 \r\nQ 40.921875 74.21875 44.703125 73.484375 \r\nQ 48.484375 72.75 52.59375 71.296875 \r\nz\r\n\" id=\"DejaVuSans-54\"/>\r\n      </defs>\r\n      <g transform=\"translate(15.579688 88.902322)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-54\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_6\">\r\n     <g id=\"line2d_13\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.942188\" xlink:href=\"#ma53f4029a9\" y=\"50.83739\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_13\">\r\n      <!-- 8 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 34.625 \r\nQ 24.75 34.625 20.71875 30.859375 \r\nQ 16.703125 27.09375 16.703125 20.515625 \r\nQ 16.703125 13.921875 20.71875 10.15625 \r\nQ 24.75 6.390625 31.78125 6.390625 \r\nQ 38.8125 6.390625 42.859375 10.171875 \r\nQ 46.921875 13.96875 46.921875 20.515625 \r\nQ 46.921875 27.09375 42.890625 30.859375 \r\nQ 38.875 34.625 31.78125 34.625 \r\nz\r\nM 21.921875 38.8125 \r\nQ 15.578125 40.375 12.03125 44.71875 \r\nQ 8.5 49.078125 8.5 55.328125 \r\nQ 8.5 64.0625 14.71875 69.140625 \r\nQ 20.953125 74.21875 31.78125 74.21875 \r\nQ 42.671875 74.21875 48.875 69.140625 \r\nQ 55.078125 64.0625 55.078125 55.328125 \r\nQ 55.078125 49.078125 51.53125 44.71875 \r\nQ 48 40.375 41.703125 38.8125 \r\nQ 48.828125 37.15625 52.796875 32.3125 \r\nQ 56.78125 27.484375 56.78125 20.515625 \r\nQ 56.78125 9.90625 50.3125 4.234375 \r\nQ 43.84375 -1.421875 31.78125 -1.421875 \r\nQ 19.734375 -1.421875 13.25 4.234375 \r\nQ 6.78125 9.90625 6.78125 20.515625 \r\nQ 6.78125 27.484375 10.78125 32.3125 \r\nQ 14.796875 37.15625 21.921875 38.8125 \r\nz\r\nM 18.3125 54.390625 \r\nQ 18.3125 48.734375 21.84375 45.5625 \r\nQ 25.390625 42.390625 31.78125 42.390625 \r\nQ 38.140625 42.390625 41.71875 45.5625 \r\nQ 45.3125 48.734375 45.3125 54.390625 \r\nQ 45.3125 60.0625 41.71875 63.234375 \r\nQ 38.140625 66.40625 31.78125 66.40625 \r\nQ 25.390625 66.40625 21.84375 63.234375 \r\nQ 18.3125 60.0625 18.3125 54.390625 \r\nz\r\n\" id=\"DejaVuSans-56\"/>\r\n      </defs>\r\n      <g transform=\"translate(15.579688 54.636609)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-56\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_7\">\r\n     <g id=\"line2d_14\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"28.942188\" xlink:href=\"#ma53f4029a9\" y=\"16.571677\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_14\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(9.217188 20.370896)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-49\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"line2d_15\">\r\n    <path clip-path=\"url(#pdc068f5135)\" d=\"M 44.616251 129.978686 \r\nL 45.045875 130.294852 \r\nL 49.459831 133.464971 \r\nL 51.812115 135.096195 \r\nL 54.761243 137.084144 \r\nL 63.671854 142.704218 \r\nL 73.543788 148.252659 \r\nL 74.092928 148.540375 \r\nL 76.555104 149.803296 \r\nL 79.144235 151.083516 \r\nL 79.823812 151.411417 \r\nL 81.207838 152.068778 \r\nL 83.52944 153.139997 \r\nL 84.047891 153.373834 \r\nL 84.639774 153.638387 \r\nL 96.720807 158.478453 \r\nL 100.991378 159.934063 \r\nL 107.061923 161.773657 \r\nL 108.619401 162.20219 \r\nL 109.853192 162.52907 \r\nL 109.968569 162.559069 \r\nL 113.122925 163.341511 \r\nL 119.625473 164.72488 \r\nL 121.543262 165.073832 \r\nL 122.721512 165.274882 \r\nL 123.035626 165.326767 \r\nL 130.248213 166.31964 \r\nL 134.175774 166.700323 \r\nL 134.865813 166.755556 \r\nL 140.279034 167.068046 \r\nL 144.504818 167.163058 \r\nL 152.329683 166.994218 \r\nL 153.5079 166.930011 \r\nL 156.027442 166.758642 \r\nL 160.161336 166.376906 \r\nL 160.351367 166.356354 \r\nL 160.959172 166.288845 \r\nL 161.97963 166.169428 \r\nL 164.756224 165.805953 \r\nL 166.382677 165.566856 \r\nL 167.062298 165.461217 \r\nL 168.052023 165.301336 \r\nL 169.774845 165.005943 \r\nL 169.866534 164.989614 \r\nL 171.788944 164.633088 \r\nL 173.294774 164.334945 \r\nL 175.475435 163.873798 \r\nL 183.155867 161.972685 \r\nL 187.068994 160.838204 \r\nL 191.951491 159.265667 \r\nL 192.027489 159.239812 \r\nL 192.425137 159.103841 \r\nL 194.968439 158.206841 \r\nL 198.411668 156.917076 \r\nL 203.276216 154.947149 \r\nL 204.314962 154.504082 \r\nL 212.202919 150.882095 \r\nL 212.90172 150.539281 \r\nL 213.32357 150.330603 \r\nL 215.709069 149.126076 \r\nL 224.355025 144.411678 \r\nL 225.372118 143.821151 \r\nL 234.735173 138.029572 \r\nL 239.055298 135.141194 \r\nL 243.293427 132.175018 \r\nL 246.277054 130.008058 \r\nL 247.329872 129.227876 \r\nL 248.692844 128.205817 \r\nL 256.057355 122.448347 \r\nL 258.459118 120.484919 \r\nL 259.196047 119.874026 \r\nL 259.604344 119.533851 \r\nL 260.069948 119.144442 \r\nL 260.09735 119.121474 \r\nL 260.983294 118.375957 \r\nL 260.983852 118.375485 \r\nL 268.231391 112.061154 \r\nL 269.304655 111.093433 \r\nL 280.200857 100.791881 \r\nL 287.298066 93.615072 \r\nL 287.552921 93.350507 \r\nL 288.628387 92.228838 \r\nL 288.850669 91.995952 \r\nL 291.346361 89.356397 \r\nL 295.503927 84.858032 \r\nL 301.457876 78.19591 \r\nL 302.008232 77.567004 \r\nL 304.464951 74.732642 \r\nL 305.923164 73.029402 \r\nL 307.13672 71.600074 \r\nL 308.451399 70.039489 \r\nL 310.534546 67.540818 \r\nL 313.979579 63.338973 \r\nL 314.88413 62.221323 \r\nL 320.478565 55.175982 \r\nL 326.09012 47.879159 \r\nL 336.680178 33.481346 \r\nL 343.710095 23.470859 \r\nL 344.613337 22.158457 \r\nL 348.068124 17.083636 \r\n\" style=\"fill:none;stroke:#ff0000;stroke-linecap:square;stroke-width:1.5;\"/>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 28.942188 224.64 \r\nL 28.942188 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 363.742188 224.64 \r\nL 363.742188 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 28.942187 224.64 \r\nL 363.742188 224.64 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 28.942187 7.2 \r\nL 363.742188 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"pdc068f5135\">\r\n   <rect height=\"217.44\" width=\"334.8\" x=\"28.942188\" y=\"7.2\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "source": [
    "plt.scatter(x, y)\n",
    "plt.plot(np.sort(x), y_predict[np.argsort(x)], color='r')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.6.8 64-bit ('anaconda': conda)",
   "language": "python",
   "name": "python36864bitanacondaconda085db2e8b14649f4b32196068f7124e9"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7-final"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}